#!/usr/bin/python
# -*- coding: UTF-8 -*-
#cpu内存磁盘
import os


# 以字符串形式返回CPU温度
def getCPUtemperature():
    res = os.popen('vcgencmd measure_temp').readline()
    return(res.replace("temp=","").replace("'C\n",""))
# 在列表中返回RAM信息（单位=kb） 
# Index 0: total RAM                                                               
# Index 1: used RAM                                                                 
# Index 2: free RAM                                                                 
def getRAMinfo():
    p = os.popen('free')
    i = 0
    while 1:
        i = i + 1
        line = p.readline()
        if i==2:
            return(line.split()[1:4])
# 返回用户用作字符串的CPU的百分比
def getCPUuse():
    return(str(os.popen("top -n1 | awk '/Cpu\(s\):/ {print $2}'").readline().strip()))
# 以列表形式返回有关磁盘空间的信息（包括单位）           
# Index 0: total disk space                                                         
# Index 1: used disk space                                                         
# Index 2: remaining disk space                                                     
# Index 3: percentage of disk used                                                  
def getDiskSpace():
    p = os.popen("df -h /")
    i = 0
    while 1:
        i = i +1
        line = p.readline()
        if i==2:
            return(line.split()[1:5])
# CPU信息
CPU_temp = getCPUtemperature()
CPU_usage = getCPUuse()
# 内存信息
# 输出以KB为单位，这里我将其转换为MB以提高可读性。
RAM_stats = getRAMinfo()
RAM_total = round(int(RAM_stats[0]) / 1000,1)
RAM_used = round(int(RAM_stats[1]) / 1000,1)
RAM_free = round(int(RAM_stats[2]) / 1000,1)
# 磁盘信息
DISK_stats = getDiskSpace()
DISK_total = DISK_stats[0]
DISK_used = DISK_stats[1]
DISK_perc = DISK_stats[3]
if __name__ == '__main__':
    print('************************************************************')
    print('CPU Temperature （CPU温度）= '+CPU_temp+'°')
    print('CPU Use （CPU使用）= '+CPU_usage)
    print('')
    print('RAM Total（内存总量） = '+str(RAM_total)+' MB')
    print('RAM Used （内存使用）= '+str(RAM_used)+' MB')
    print('RAM Free （内存剩余）= '+str(RAM_free)+' MB')
    print('')  
    print('DISK Total Space（磁盘总空间） = '+str(DISK_total)+'B')
    print('DISK Used Space（磁盘使用空间） = '+str(DISK_used)+'B')
    print('DISK Used Percentage（磁盘使用百分比） = '+str(DISK_perc))
    print('************************************************************')
	
